import MesHelp from '../Http/MesHelp'

// ==================== 用户管理API接口 ====================

/**
 * 获取用户列表接口 - 支持分页和搜索
 * @param data 查询参数（用户名、部门ID、分页信息）
 * @returns Promise<any>
 */
export const getUserList = (data: any) => {
  return MesHelp.post('/api/User/GetUserList', data)
}

/**
 * 获取用户详情接口 - 根据用户ID获取完整用户信息
 * @param id 用户ID
 * @returns Promise<any>
 */
export const getUserById = (id: number) => {
  return MesHelp.get(`/api/User/GetUserById?id=${id}`)
}

/**
 * 创建用户接口 - 新增用户
 * @param data 用户信息
 * @returns Promise<any>
 */
export const createUser = (data: any) => {
  return MesHelp.post('/api/User/CreateUser', data)
}

/**
 * 更新用户接口 - 编辑用户信息
 * @param data 用户信息
 * @returns Promise<any>
 */
export const updateUser = (data: any) => {
  return MesHelp.post('/api/User/UpdateUser', data)
}

/**
 * 删除用户接口 - 软删除用户
 * @param id 用户ID
 * @returns Promise<any>
 */
export const deleteUser = (id: number) => {
  return MesHelp.post('/api/User/DeleteUser', { id })
}

/**
 * 切换用户状态接口 - 启用/禁用用户
 * @param id 用户ID
 * @param status 状态（1：启用，0：禁用）
 * @returns Promise<any>
 */
export const toggleUserStatus = (id: number, status: number) => {
  return MesHelp.post('/api/User/ToggleUserStatus', { id, status })
}

/**
 * 分配用户角色接口 - 给用户分配角色
 * @param data 分配参数（用户ID和角色ID列表）
 * @returns Promise<any>
 */
export const assignUserRoles = (data: any) => {
  return MesHelp.post('/api/User/AssignUserRoles', data)
}

/**
 * 获取用户角色接口 - 获取用户的所有角色
 * @param userId 用户ID
 * @returns Promise<any>
 */
export const getUserRoles = (userId: number) => {
  return MesHelp.get(`/api/User/GetUserRoles?userId=${userId}`)
}

/**
 * 获取所有用户接口 - 用于下拉选择
 * @returns Promise<any>
 */
export const getAllUsers = () => {
  return MesHelp.get('/api/User/GetAllUsers')
}

/**
 * 获取所有部门接口 - 用于下拉选择
 * @returns Promise<any>
 */
export const getAllDepartments = () => {
  return MesHelp.get('/api/User/GetAllDepartments')
}

/**
 * 获取所有角色接口 - 用于下拉选择
 * @returns Promise<any>
 */
export const getAllRoles = () => {
  return MesHelp.get('/api/User/GetAllRoles')
}